#include "Scene.h"
#include "Ray.h"


class Tracer{

public:
Tracer();
~Tracer();

Vector3<float> traceRay(Ray &r, float depth, int iter);

float calcShade(Vector3<float> intersectPoint, Vector3<float> lightDir);

Vector3<float> getDiffuseRay(Vector3<float> rayDir, float refl, Vector3<float> hitNormal);

Vector3<float> getSpecularRay(Vector3<float> rayDir, Vector3<float> hitPoint, Vector3<float> hitNormal);

Vector3<float> getRefractedRay(Vector3<float> rayDir, Geometry *geo, Vector3<float> hitNormal);

Vector3<float> getDirect(Vector3<float> rayDir, Vector3<float> hitPoint, Vector3<float> hitNormal, Vector3<float> geoColor, float geoSpec);


Scene *scene;








};
